package com.download.zhuaba.Utils;

import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.math.BigInteger;
import java.util.Base64;
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;

public class enCodeByBase64 {
    /**
 * base 64 encode
 * @param bytes 待编码的byte[]
 * @return 编码后的base 64 code
 */
    public static String base64Encode(byte[] bytes){
         return new BASE64Encoder().encode(bytes);
    }
    public  String enCode(String str) throws Exception {
        String encodedText = base64Encode(str.getBytes());
        return encodedText;
    }
    public  String deCode(String str) throws Exception {
        String decodedText = new String(base64Decode(str));
        return decodedText;
    }
    /**
     * 将byte[]转为各种进制的字符串
     * @param bytes byte[]
     * @param radix 可以转换进制的范围，从Character.MIN_RADIX到Character.MAX_RADIX，超出范围后变为10进制
     * @return 转换后的字符串
     */
    public static String binary(byte[] bytes, int radix){
        return new BigInteger(1, bytes).toString(radix);// 这里的1代表正数
    }



    /**
     * base 64 decode
     * @param base64Code 待解码的base 64 code
     * @return 解码后的byte[]
     * @throws Exception
     */
    public static byte[] base64Decode(String base64Code) throws Exception{
        try {
            return new BASE64Decoder().decodeBuffer(base64Code);
        }catch (IOException e){
           e.printStackTrace();
        }
        return null;
        }
}
